package com.antoco.operation.bigscreen.model.dto;

import lombok.Data;
import java.sql.Timestamp;
import java.util.*;
import com.antoco.operation.bigscreen.model.entity.SensorImg;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

@Data
@ApiModel(value="SensorDTO")
public class SensorDTO extends AbstractDTO<Long> {

    @ApiModelProperty(value = "id")
    private Long id;

    @ApiModelProperty(value = "传感器图片")
    private List<SensorImg> sensorImgs = new ArrayList<>();

    @ApiModelProperty(value = "设备大类 1-水质，2-水量")
    private String devBigType;

    @ApiModelProperty(value = "设备大类名称")
    private String devBigTypeName;

    @ApiModelProperty(value = "设备类型 1-电子水尺，2-窑井水位仪，3-雨量计，4-智能井盖，5-CH2，6-H2S，7-CO，8-PH")
    private String devType;

    @ApiModelProperty(value = "设备类型名称")
    private String devTypeName;

    @ApiModelProperty(value = "设备名称")
    private String name;

    @ApiModelProperty(value = "地理位置名称")
    private String gisName;

    @ApiModelProperty(value = "地理位置经度")
    private String gisJindu;

    @ApiModelProperty(value = "地理位置纬度")
    private String gisWeidu;

    @ApiModelProperty(value = "设备状态 warn-告警， alarm-预警，空-正常")
    private String state;

    @ApiModelProperty(value = "设备状态名称")
    private String stateName;

    @ApiModelProperty(value = "信号情况 1-正常，2-差")
    private String xinhao;

    @ApiModelProperty(value = "信号情况名称")
    private String xinhaoName;

    @ApiModelProperty(value = "调试状态 1-是 ，2-否")
    private String tiaosi;

    @ApiModelProperty(value = "调试状态名称")
    private String tiaosiName;

    @ApiModelProperty(value = "安装时间")
    private String buildTime;

    @ApiModelProperty(value = "超声波水位")
    private String caosenboSuiwei;

    @ApiModelProperty(value = "压力水位")
    private String yaliSuiwei;

    @ApiModelProperty(value = "离水底高度")
    private String hightForBottom;

    @ApiModelProperty(value = "剩余电量")
    private String senyuDianlian;

    @ApiModelProperty(value = "值类型名称")
    private String valType;

    @ApiModelProperty(value = "值单位名称")
    private String valTypeName;

    @ApiModelProperty(value = "预警阀值")
    private String alarmLimitVal;

    @ApiModelProperty(value = "告警阀值")
    private String warnLimitVal;

    @ApiModelProperty(value = "最新值")
    private String newestVal;

    @ApiModelProperty(value = "最新通信时间")
    private String newestReportTime;

    @ApiModelProperty(value = "最新通讯标识（预留）")
    private Long newestReportId;

    @ApiModelProperty(value = "警告总次数")
    private Integer alertAllNum;

    @ApiModelProperty(value = "预警总次数")
    private Integer aleamNum;

    @ApiModelProperty(value = "告警总次数")
    private Integer warnNum;

    @ApiModelProperty(value = "通信总次数")
    private Integer reportNum;

    @ApiModelProperty(value = "今日通讯值")
    private Integer reportNumToday;

    @ApiModelProperty(value = "历史最小值")
    private String minVal;

    @ApiModelProperty(value = "历史最大值")
    private String maxVal;

    @ApiModelProperty(value = "历史平均值")
    private Double aveVal;

    @ApiModelProperty(value = "当天最小值")
    private String thisMinVal;

    @ApiModelProperty(value = "上一日最小值")
    private String prevMinVal;

    @ApiModelProperty(value = "当天最小值变化趋势")
    private String thisMinChgQusi;

    @ApiModelProperty(value = "上一日最小值变化趋势")
    private String prevMinChgQusi;

    @ApiModelProperty(value = "当天最小值变化率")
    private String thisMinChgLv;

    @ApiModelProperty(value = "当天最大值")
    private String thisMaxVal;

    @ApiModelProperty(value = "上一日最大值")
    private String prevMaxVal;

    @ApiModelProperty(value = "当天最大值变化趋势")
    private String thisMaxChgQusi;

    @ApiModelProperty(value = "上一日最大值变化趋势")
    private String prevMaxChgQusi;

    @ApiModelProperty(value = "当天最大值变化率")
    private String thisMaxChgLv;

    @ApiModelProperty(value = "当天平均值")
    private String thisAveVal;

    @ApiModelProperty(value = "上一日平均值")
    private String prevAveVal;

    @ApiModelProperty(value = "当天平均值变化趋势")
    private String thisAveChgQusi;

    @ApiModelProperty(value = "上一日平均值变化趋势")
    private String prevAveChgQusi;

    @ApiModelProperty(value = "当天平均值变化率")
    private String thisAveChgLv;

    @ApiModelProperty(value = "创建时间")
    private Timestamp genTime;

    @ApiModelProperty(value = "记录状态")
    private String recState;
}